Clustered storage network

ABSTRACT

A data storage network is provided. The network includes a client connected to the data storage network; a plurality nodes on the data storage network, wherein each data node has two or more RAID controllers, wherein a first RAID controller of a first node is configured to receive a data storage request from the client and to generate RAID parity data on a data set received from the client, and to store all of the generated RAID parity data on a single node of the plurality of nodes.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/585,586, filed Aug. 14, 2012, now U.S. Pat. No. 8,683,123, which is acontinuation of U.S. application Ser. No. 13/164,070, filed on Jun. 20,2011, now U.S. Pat. No. 8,266,376, which is a continuation of U.S.application Ser. No. 11/944,303, filed on Nov. 21, 2007, now U.S. Pat.No. 7,991,951, which claims priority to U.S. Provisional ApplicationSer. No. 60/860,558, filed on Nov. 22, 2006, which is incorporated byreference herein in its entirety.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to network storage, and more particularly,some embodiments relate to a clustered storage network.

BACKGROUND OF THE INVENTION

There are typically three classes of storage system, low, mid and high(enterprise system). Components used in each of these classes of storagesystem can greatly vary in performance, cost, and functionality. This isattributed largely to differing requirements between each of theclasses. Generally, low end systems use cheaper components than theirhigh-end counterparts and do not offer component redundancy. Enterprisesystems on the other hand use more expensive components and exhibitcomponent redundancy, which provides higher reliability. Typically,low-end storage systems do no share common components with high-endsystems. Low-end storage systems use different chassis, power supplies,fans, RAID controllers, application motherboards/HBAs blades, drivesleds, switches, etc.

Enterprise storage systems typically have a number of different buildingblocks, interconnect cables, field replaceable units (FRUs), systemsetup/configuration, and troubleshooting. Additionally, enterprisestorage systems typically include integral switches for scalability anddouble the components for redundancy, and are generally not built withthe same common components as low-end platforms.

SUMMARY OF THE INVENTION

The present invention is directed to systems and apparatus for datastorage. Some embodiments relate to a data storage network that includesa client connected to the data storage network; a plurality nodes on thedata storage network, wherein each data node has two or more RAIDcontrollers, wherein a first RAID controller of a first node isconfigured to receive a data storage request from the client and togenerate RAID parity data on a data set received from the client, and tostore all of the generated RAID parity data on a single node of theplurality of nodes.

In one embodiment, each data node further comprises two or moremotherboards and the first RAID controller comprises a serial attachedsmall computer system interface (SAS) RAID controller.

In yet another embodiment, each RAID controller is located on a separateapplication blade, wherein each application blade is coupled to astorage device.

In still another embodiment, each node further comprises a plurality ofstorage devices.

In accordance to another embodiment of the present invention, a datastorage system includes a first and second RAID controllers being incommunication with each other; a first and second motherboards, thefirst motherboard being coupled to the first RAID controller, and thesecond motherboard being coupled to the second RAID controller; and afirst switch coupled to the first RAID controller and a first storageunit; a second switch coupled to the second RAID controller and to thefirst storage unit, wherein the first RAID controller is configured toreceive a data storage request and to write data to the first storageunit based on the data storage request.

In yet another embodiment, the RAID controller comprises a serialattached SCSI (SAS) RAID controller.

In still another embodiment, the first switch is a SAS switch. In stillanother embodiment, a third SAS switch is coupled between the firstswitch and the first RAID controller, and a fourth SAS switch beingcoupled between the second switch and the second RAID controller.

In still another embodiment, a third SAS switch is coupled between thefirst RAID controller and the first motherboard, and a fourth SAS switchbeing coupled between the first RAID controller and the firstmotherboard.

In still another embodiment, the third SAS switch comprises a clusterinitiator/targets.

In accordance to another embodiment of the present invention, a datastorage network comprises a first node that includes a first and secondRAID controllers being in communication with each other; a first andsecond motherboards, the first motherboard being coupled to the firstRAID controller, and the second motherboard being coupled to the secondRAID controller; and a first switch coupled to the first RAID controllerand a first storage unit; a second switch coupled to the second RAIDcontroller and to the first storage unit, wherein the first RAIDcontroller is configured to receive a data storage request and to writedata to the first storage unit based on the data storage request; and asecond node comprising: a third and fourth RAID controllers being incommunication with each other; a third and fourth motherboards, thethird motherboard being coupled to the third RAID controller, and thefourth motherboard being coupled to the fourth RAID controller; and athird switch coupled to the third RAID controller and a second storageunit; a fourth switch coupled to the fourth RAID controller and to thesecond storage unit, wherein the third RAID controller is configured toreceive a data storage request and to write data to the first storageunit based on the data storage request.

In accordance to yet another embodiment of the present invention, a datastorage network is provided. The data storage network includes a clientconnected to the data storage network; a plurality nodes on the datastorage network, wherein each data node has a plurality of storagedevices, a data controller configured to receive a data storage requestfrom the client.

Other features and aspects of the invention will become apparent fromthe following detailed description, taken in conjunction with theaccompanying drawings, which illustrate, by way of example, the featuresin accordance with embodiments of the invention. The summary is notintended to limit the scope of the invention, which is defined solely bythe claims attached hereto.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention, in accordance with one or more variousembodiments, is described in detail with reference to the followingfigures. The drawings are provided for purposes of illustration only andmerely depict typical or example embodiments of the invention. Thesedrawings are provided to facilitate the reader's understanding of theinvention and shall not be considered limiting of the breadth, scope, orapplicability of the invention. It should be noted that for clarity andease of illustration these drawings are not necessarily made to scale.

FIG. 1 illustrates an example environment in which the invention can beimplemented according to one embodiment of the present invention.

FIG. 2 illustrates an example network in which the invention can beimplemented according to one embodiment of the present invention.

FIG. 3 illustrates an example redundant array of redundant nodes (RARN)architecture.

FIG. 4 illustrates an example blade system of a RARN node.

FIGS. 5-6 illustrate example systems of a node in a redundant array ofredundant nodes (RARN) network according to embodiments of the presentinvention.

The figures are not intended to be exhaustive or to limit the inventionto the precise form disclosed. It should be understood that theinvention can be practiced with modification and alteration, and thatthe invention be limited only by the claims and the equivalents thereof.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is directed toward a data storage network systemand method. More particularly, some embodiments relate to a scalableclustered storage network with locally implemented RAID (redundant arrayof independent disks) capability.

Before describing the invention in detail, it is useful to describe anexample environment with which the invention can be implemented. FIG. 1illustrates a data storage system 100 with which the present inventioncan be implemented. System 100 in the illustrated example includescomputing devices 105 a-b, a network 110, a server 115, an array ofstorage disk 120, and a storage area network 130. Computing devices 105a-b can any of a variety of computing devices including, for example,laptops, desktops, workstations, personal digital assistants (PDAs),handheld computing devices, or other types of computing devices.

Network 110 can be implemented using any of a variety of networkarchitectures or topologies. Such networks might include, for example,the internet, a local area network (LAN), a wide area network (WAN), aplain old telephone system (POTS), or any other suitable network orcommunications channel. As shown, computing devices 105 a-b and server115 are connected to network 110. The connection to network 110 can bewireless or through a wired connection.

Server 115 can be any server system such as, for example, a conventionalstandalone file server configured to provide data services to a clientdevice such as device 105 a. Server 115 can be scalable to increasestorage capacity such as, for example, by adding storage disk array 120.Disk array 120 can be implemented as, for example, a direct-attachedstorage (DAS system). In the example architecture illustrated in FIG. 1,system 100 includes SAN 130, which includes switch 135, disk array 140,router 145, and a tape server 150. Server 115, disk array 120, and SAN130 can be implemented using one or more types of storage architecturessuch as, for example, small computer system interface (SCSI), serialadvanced technology attachment (SATA), serial attached SCSI (SAS), orfiber channel (FC).

Generally, a legacy SCSI system with an 8-bit wide bus can typicallydeliver data at a rate of approximately 5 megabits per second (MBps),whereas contemporary 16-bit wide bus SCSI systems can deliver data up to320 MBps. Typical SATA systems are generally less expensive than anequivalent SCSI system and can provide performance close to that of the16-bit wide bus SCSI system at 300 MBps.

FC systems are common and more widely used than SATA and SCSI systems.FC systems offer several advantages such as pooled resources, flexiblebackup capability, scalability, fast data transfer (up to 512 MBps), andthe ability to accommodate long cable lengths. FC systems may have cablelengths up to 10 kilometers as compared to a maximum cable length of 25meters for other system such as, for example, a SCSI system.

With continued reference to FIG. 1, the illustrated exemplary system 100can provide data access and storage redundancy by storing data atmultiple locations such as server 115, disk arrays 120 and 140, or tapeserver 150. Server 115 can be groups of remote servers, each group maybe locally or remotely connected with other groups via a network similarto network 110. As shown in FIG. 1, server 115 may access data or backupdata to disk array 140 or tape server 150 through network 110 or via adirect connection to switch 135. In this way, server 115 has theflexibility of accessing array 140 or tape server 150 via multipleconnections and thereby avoids network bottlenecks.

In one embodiment, switch 135 is an FC data switch and tape server 150is SCSI type server. In this embodiment, router 145 is configured totransfer data between a FC data bus of FC switch 135 and a SCSI bus ofSCSI tape server 150. Although a specific architecture is describedabove, components of SAN 130 may have a different architecture orcombination of architectures such as, for example, SATA, SAS, and FC.

In system 100, data redundancy can be implemented in SAN 130 byimplementing RAID across disk array 140 and tape 150. Parity data neededfor reconstructing a failed data sector can be distributed by a RAIDcontroller (not shown) located in SAN 130, across array 140, orseparately to tape server 150, or across both array 140 and tape server150. In this setup, clients 105 a-b typically can not access data storedwithin SAN 130 network when a critical component (e.g., motherboard,switch 135, power supply, etc.) of node 130 fails.

From time to time, the present invention is described herein in terms ofthese example environments. Description in terms of these environmentsis provided to allow the various features and embodiments of theinvention to be portrayed in the context of an exemplary application.After reading this description, it will become apparent to one ofordinary skill in the art how the invention can be implemented indifferent and alternative environments.

FIG. 2 illustrates an example data network 200 in which the presentinvention may be implemented. Referring now to FIG. 2, data network 200includes network 110 and sub-networks 210. Similar to network 110,network 210 can be a wide-area network (WAN), a local area network(LAN), or other communication network or channel. As shown, connected toeach data network 210 are data nodes 215 that may be implemented,individually or collectively, as a storage network having anarchitecture similar to server 115, SAN 135, or redundant array ofindependent nodes (RAIN).

RAIN is a cluster of nodes used to increase fault tolerance. In RAIN,RAID is implemented across the nodes of the network rather than acrossan array of disks as in SAN 130. Generally, RAIN is flexible and thenumber of nodes that can be part of the RAID network can be high.However, as the number of RAID nodes increases, the RAID distributionprocess gets further bogged down. Additionally, each node in the RAINnetwork is typically not redundant (non-HA), meaning the node itself hasno internal fail-over capability. Once a node dies in a RAIN network,parity data stored in that node must be retrieved at a different nodewith identical parity data. If there is no other node that contains theidentical parity data, then data will be lost.

With continued reference to FIG. 2, in one embodiment, node 215 isimplemented as a node of a redundant array of redundant nodes (RARN)network. In this embodiment, each node 215 of RARN network 200 is aredundant or HA node that includes redundant critical components suchas, for example, motherboards, RAID controllers, and dual ported storagedevices. In this way, each node has an internal failover capability.Additionally, because a RARN node has multiple motherboards, RAIDcontrollers, and storage devices, there is no need to generate RAID orparity data and distribute them across all of the nodes. In oneembodiment, RAID parity data are distributed among the storage deviceswithin a single RARN node. This allows network 200 to operate moreefficiently and faster.

FIG. 3 illustrates an example RARN architecture 300 according to oneembodiment of the present invention. Referring now to FIG. 3, RARNarchitecture or system 300 includes two RAID blades 310 a and 310 b. Inthis way, each blade serves as a fail-over pair for the other blade.Although a two-RAID blade architecture is shown, more than two RAIDblades can be used and is contemplated. In the illustrated example,blades 310 a and 310 b are identical.

As shown in FIG. 3, the blades 310 in this example include a motherboard315, two dual fibre channel host bus adapters 317 a-b, a dual Ethernetnetwork interface card 319, and a RAID switch card 320. Motherboard 315includes two central processing units 316 a and 316 b. RAID switch card320 is connected to motherboard 315 via a bus such as, for example, aPCI-express bus having an 8-bit width or a SAS (serial attached SCSI)bus having an 8-bit width. RAID switch card 320 includes a SAS RAIDcontroller 325, a SAS switch 330 for cluster initiator/targets andexpansion, and a SAS switch 335 for internal expansion. As shown, SASswitch 335 is coupled to a storage device 340. In one embodiment,storage device 340 is a SATA (serial advanced technology attachment)dual ported drives.

System 300 can be implemented in a number of configurations. Forexample, in one embodiment, system 300 can be implemented in a 4U (dual,redundant blade) form factor chassis for an enterprise version. Asanother example, system 300 can be implemented in a 2U single formfactor chassis with a hot swappable interface for a low-end version. Insystem 300, application heads might be combined, meaning RAID diskarray, SAS clustering, and expansion backend data switches into a singlestorage application platform node. No additional hardware (HW)components are required to cluster storage application platforms or addJBODs Gust a bunch of disks) for capacity expansion, which can be doneby connecting boxes together and adding chassis or blades to order.

The illustrated example also allows system 300 to support dual redundantapplication RAID blades with active/active cache coherency and to haveinterchangeable Application/RAID blades or JBOD controller blades.

In one embodiment, SAS switch 330 includes integrated 6 (X4) port SASI/O data switches. This allows switch 330 to support box-to-box sharedtarget/initiator clustering. In one embodiment, SAS switch 335 is anintegrated 2 (X4) port SAS I/O data switches to support internal drivesand for external JBODs expansion.

In one embodiment, system 300 is configured to operate with highavailability and failover on both a hardware level and an applicationlevel. In this way, an exemplary VTL (virtual tape library) blade thatfails can be picked up by a secondary VTL blade and carry on. System 300can also be configured to run a number of different applications inorder to implement various data storage architectures such as, forexample, VTL, NAS (network attached storage), and CDP (continuous dataprotection), using similar hardware and common components. In oneembodiment, the RAID controller of each blade communicates with otherRAID controller of system 300 using communication buses 340 a-b.

In one embodiment, system 300 uses either a native X8 SAS or PCI-e RAIDcontroller to directly connect to the application motherboard/HBAs. Asshown in FIG. 3, SAS RAID controller 325, in turn, connects to SAS dataswitch 330 to initiator/target box to box clustering andinternal/external drive expansion. This architecture has a costadvantage over other similar platform.

Switch 330 is a combined function switch and might be zoned in such away that other initiators on the cluster cannot see the drives owned byeach RAID controller. Accordingly, in one embodiment switch 330 isconfigured with two separate zones. In general, SAS addressing has apractical limit of 1024 device addresses, divided by two for redundancy.Since RAID controller 325 sees both the drives and external boxes withthe same ports, its overall addressing capacity to other boxes might bereduced by the number of drives it owns locally. RAID controller 325also shows a PCI express connection between the two controllers forcache coherency; however, this could also be a SAS bus or some otherhigh bandwidth communication bus.

In one embodiment, RAID controller 320 is configured to perform RAID 5,6, 10, 1, 0, 50 functions. In exemplary system 300, the target/initiatorSCSI CDB-level provides access to RAID logical volumes, and othernon-disk logical units, such media changers or tape drives. Theexemplary system 300 also has the ability to support failover acrossredundant controllers. When the write cache is enabled, it is necessaryto keep the cache synchronized across redundant controllers.Additionally, system 300 has the ability to “shut off” a workingcontroller with which we cannot communicate (e.g. bad cable). In oneembodiment, RAID controller 320 is configured to generate RAID paritydata for a received data set and distribute the RAID parity data amongone or more storage drives within system 300. Preferably, RAIDcontroller 320 is configured to keep all of the RAID parity data withinthe node, meaning no parity data are sent to other nodes.

In exemplary system 300, the SAS JBOD controller blades have the sameform factor and interchangeable with application RAID blades. Fan andpower supply modules are also configured in single or double (redundant)configurations. Drives and drive sleds with dual SAS/SATA can be used toaccess the drives as normal. Additionally, system 300 includes anintegrated 6 (X4) port SAS I/O data switch modules for SASinitiator/target clustering allows any to any connectivity between thestorage platforms, as shown in FIG. 3.

FIG. 4 illustrates a blade system 400 of a RARN node according to oneembodiment of the present invention. System 400 in the illustratedexample is similar to the example of system 300 and may incorporate someor all features of system 300. Referring now to FIG. 4, system 400includes RAID switch cards 410 a-b. Each card 410 has a SAS switch 415,a SAS RAID controller 420, and a SAS expansion switch 425. As shown inFIG. 4, SAS RAID 420 a is coupled between SAS switch 415 and SAS switch425. In this embodiment, RAID switch card 410 is coupled to motherboard414 via a SAS host bus adapter 430.

In one embodiment, one of the RAID controllers 420 a-b is configured togenerate RAID parity data for a received data set and distribute theRAID parity data among one or more storage drives within system 400.Preferably, RAID controller 420 is configured to keep all of the RAIDparity data within the present node, meaning no parity data are sent toother nodes.

In one embodiment, system 400 uses a PCI-e to SAS HBA bus system toconnect to its local and companion SAS data switches forinitiator/target box-to-box clustering and failover. This data switch isconnected to SAS to SAS RAID controller 420 as a target and exposes 6(X4) SAS ports externally to other boxes. SAS RAID controller 420 alsohas a port (not shown) to act as RAID initiator to only the internaldrives and external JBODs through a separate SAS data expansion switch.Two separate switches preclude the use of zoning and allows for the fulladdressing space for external boxes and local SAS device addressing,basically, giving system 400 maximum clustering and drive expansioncapability.

FIG. 5A illustrates a logical system view of a RARN node 500 accordingto one embodiment of the present invention. Referring now to FIG. 5A,RARN node 500 in this example includes three application blades 503,three RAID controllers 504, and three dual ported drives 507 to providenode 500 with data storage redundancy. According to one embodiment, RAIDcontrollers of RARN node 500 do not generate and distribute parity dataacross all of the nodes that belong to the RARN network. Instead, inthis embodiment, RAID parity data are generated and distributed to andmaintained by storage drives within RARN node 500.

FIG. 5B illustrates a physical system view of an example of a RARN node500 connected to other RARN nodes 505 a-e in accordance with oneembodiment of the invention. In one embodiment, node clusters 505 a-ework in concert with software application built into each node or in oneembodiment built into one of the RAID controller to provide faulttolerance. If one blade fails, the other blade can pick up where thefirst blade left off. In one embodiment, each blade is running a clusterFS client. This cluster FS client can be configured to virtualize thestorage on that box and works with the cluster FS client on the otherboxes to present a single common storage pool.

In one embodiment, the pool presents a unified view of all data in thecluster. Accordingly, a file written on one box can be retrieved fromanother. Further, a cluster FS gives us data coherency, metadatamanagement and access co-ordination (e.g. Stornext FS).

FIG. 6 illustrates an example implementation of RARN nodes in an exampleenvironment 600 according to one embodiment of the present invention.Referring now to FIG. 6, environment 600 includes two RARN nodes 605a-b. Each of the nodes 605 a-b includes a plurality of storage devices607 and 609 and pairs of application blades 609 a-b. In one embodiment,two or more RARN nodes can be configured to share resources (e.g., SASswitch, Ethernet LAN, FC SAN) as shown in FIG. 6. Similar one or moresystems 300, 400, and 500, each of the nodes 605 a-b is configured tostore parity or RAID data within each individual node.

Unless defined otherwise, all technical and scientific terms used hereinhave the same meaning as is commonly understood by one of ordinary skillin the art to which this invention belongs. All patents, applications,published applications and other publications referred to herein areincorporated by reference in their entirety. If a definition set forthin this section is contrary to or otherwise inconsistent with adefinition set forth in applications, published applications and otherpublications that are herein incorporated by reference, the definitionset forth in this section prevails over the definition that isincorporated herein by reference.

As used herein, the term module might describe a given unit offunctionality that can be performed in accordance with one or moreembodiments of the present invention. As used herein, a module might beimplemented utilizing any form of hardware, software, or a combinationthereof. For example, one or more processors, controllers, ASICs, PLAs,logical components, software routines or other mechanisms might beimplemented to make up a module. In implementation, the various modulesdescribed herein might be implemented as discrete modules or thefunctions and features described can be shared in part or in total amongone or more modules. In other words, as would be apparent to one ofordinary skill in the art after reading this description, the variousfeatures and functionality described herein may be implemented in anygiven application and can be implemented in one or more separate orshared modules in various combinations and permutations. Even thoughvarious features or elements of functionality may be individuallydescribed or claimed as separate modules, one of ordinary skill in theart will understand that these features and functionality can be sharedamong one or more common software and hardware elements, and suchdescription shall not require or imply that separate hardware orsoftware components are used to implement such features orfunctionality.

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample only, and not of limitation. Likewise, the various diagrams maydepict an example architectural or other configuration for theinvention, which is done to aid in understanding the features andfunctionality that can be included in the invention. The invention isnot restricted to the illustrated example architectures orconfigurations, but the desired features can be implemented using avariety of alternative architectures and configurations. Indeed, it willbe apparent to one of skill in the art how alternative functional,logical or physical partitioning and configurations can be implementedto implement the desired features of the present invention. Also, amultitude of different constituent module names other than thosedepicted herein can be applied to the various partitions. Additionally,with regard to flow diagrams, operational descriptions and methodclaims, the order in which the steps are presented herein shall notmandate that various embodiments be implemented to perform the recitedfunctionality in the same order unless the context dictates otherwise.

Although the invention is described above in terms of various exemplaryembodiments and implementations, it should be understood that thevarious features, aspects and functionality described in one or more ofthe individual embodiments are not limited in their applicability to theparticular embodiment with which they are described, but instead can beapplied, alone or in various combinations, to one or more of the otherembodiments of the invention, whether or not such embodiments aredescribed and whether or not such features are presented as being a partof a described embodiment. Thus, the breadth and scope of the presentinvention should not be limited by any of the above-described exemplaryembodiments.

Terms and phrases used in this document, and variations thereof, unlessotherwise expressly stated, should be construed as open ended as opposedto limiting. As examples of the foregoing: the term “including” shouldbe read as meaning “including, without limitation” or the like; the term“example” is used to provide exemplary instances of the item indiscussion, not an exhaustive or limiting list thereof; the terms “a” or“an” should be read as meaning “at least one,” “one or more” or thelike; and adjectives such as “conventional,” “traditional,” “normal,”“standard,” “known” and terms of similar meaning should not be construedas limiting the item described to a given time period or to an itemavailable as of a given time, but instead should be read to encompassconventional, traditional, normal, or standard technologies that may beavailable or known now or at any time in the future. Likewise, wherethis document refers to technologies that would be apparent or known toone of ordinary skill in the art, such technologies encompass thoseapparent or known to the skilled artisan now or at any time in thefuture.

A group of items linked with the conjunction “and” should not be read asrequiring that each and every one of those items be present in thegrouping, but rather should be read as “and/or” unless expressly statedotherwise. Similarly, a group of items linked with the conjunction “or”should not be read as requiring mutual exclusivity among that group, butrather should also be read as “and/or” unless expressly statedotherwise. Furthermore, although items, elements or components of theinvention may be described or claimed in the singular, the plural iscontemplated to be within the scope thereof unless limitation to thesingular is explicitly stated.

The presence of broadening words and phrases such as “one or more,” “atleast,” “but not limited to” or other like phrases in some instancesshall not be read to mean that the narrower case is intended or requiredin instances where such broadening phrases may be absent. The use of theterm “module” does not imply that the components or functionalitydescribed or claimed as part of the module are all configured in acommon package. Indeed, any or all of the various components of amodule, whether control logic or other components, can be combined in asingle package or separately maintained and can further be distributedin multiple groupings or packages or across multiple locations.

Additionally, the various embodiments set forth herein are described interms of exemplary block diagrams, flow charts and other illustrations.As will become apparent to one of ordinary skill in the art afterreading this document, the illustrated embodiments and their variousalternatives can be implemented without confinement to the illustratedexamples. For example, block diagrams and their accompanying descriptionshould not be construed as mandating a particular architecture orconfiguration.

What is claimed is:
 1. An apparatus comprising: a first processorcoupled to a first storage device, the first processor being configuredto: in response to receiving a request to store data, writing the datato the first storage device of a first redundant array of redundantnodes (RARN) node of a RARN network, each RARN node of the RARN networkcomprising one or more processors, RAID controllers, and storagedevices; generate redundancy data corresponding to the data written tothe first storage device; distribute the redundancy data to a secondstorage device in the RARN node of the RARN network, wherein at least aportion of the redundancy data is written to the second storage devicefor failover capability.
 2. The apparatus of claim 1, wherein: the firstRARN node comprises a first processor configured to: receive the requestto store data; and cause a first RAID controller of the first RARN nodeto write the data to the first storage device.
 3. The apparatus of claim2, wherein the first RAID controller of the first RARN node is furtherconfigured to distribute the redundancy data to a third storage deviceof the first RARN node.
 4. The apparatus of claim 3, wherein at least aportion of the redundancy data distributed to the third storage deviceis written to the third storage device for failover capability.
 5. Theapparatus of claim 2, wherein the request to store data is received froma client connected to the RARN network.
 6. The apparatus of claim 2,wherein the first node comprises first and second Ethernet networkinterface cards.
 7. The apparatus of claim 2, where the first RAIDcontroller comprises a serial attached SCSI (SAS) RAID controller.
 8. Amethod comprising: in response to receiving a request to store data,writing the data to a first storage device of a first redundant array ofredundant nodes (RARN) node of a RARN network, each RARN node of theRARN network comprising one or more processors, RAID controllers, andstorage devices; generating redundancy data corresponding to the datawritten to the first storage device; distributing the redundancy data toa second storage device of the first RARN node of the RARN network,wherein at least a portion of the redundancy data is written to thesecond storage device for failover capability.
 9. The method of claim 8,wherein the first RARN node comprises a first processor configured to:receive the request to store data; and cause a first RAID controller ofthe first RARN node to write the data to the first storage device. 10.The method of claim 9, wherein the first RAID controller of the firstRARN node is further configured to distribute the redundancy data to athird storage device of the RARN node.
 11. The method of claim 10,wherein at least a portion of the redundancy data distributed to thethird storage device is written to the third storage device for failovercapability.
 12. The method of claim 9, wherein the first node comprisesfirst and second Ethernet network interface cards.
 13. The method ofclaim 9, wherein the first RAID controller comprises a serial attachedSCSI (SAS) RAID controller.